Symbolic value-flow static analysis: deep, precise, complete modeling of Ethereum smart contracts
نویسندگان
چکیده
We present a static analysis approach that combines concrete values and symbolic expressions. This value-flow (“symvalic”) models program behavior with high precision, e.g., full path sensitivity. To achieve deep modeling of semantics, the relies on symbiotic relationship between traditional fixpoint computation solver: solver does not merely receive complex “path condition” to solve, but is instead invoked repeatedly (often tens or hundreds thousands times), in close cooperation flow analysis. The result symvalic architecture much more complete than execution, precise conventional analysis, domain-agnostic: no special-purpose definition anti-patterns necessary order compute violations safety conditions precision. apply domain Ethereum smart contracts. represents fundamental challenge for approaches: despite numerous publications, research work has been effective at uncovering vulnerabilities real-world value. In systematic comparison past tools, we find significantly increased completeness (shown as 83-96% statement coverage true error reports) combined higher measured by rate positive reports. terms impact, since beginning 2021, resulted discovery disclosure several critical vulnerabilities, over funds many millions dollars. Six separate bug bounties totaling $350K have awarded these disclosures.
منابع مشابه
A survey of attacks on Ethereum smart contracts
Smart contracts are computer programs that can be correctly executed by a network of mutually distrusting nodes, without the need of an external trusted authority. Since smart contracts handle and transfer assets of considerable value, besides their correct execution it is also crucial that their implementation is secure against attacks which aim at stealing or tampering the assets. We study th...
متن کاملA Survey of Attacks on Ethereum Smart Contracts (SoK)
Smart contracts are computer programs that can be correctly executed by a network of mutually distrusting nodes, without the need of an external trusted authority. Since smart contracts handle and transfer assets of considerable value, besides their correct execution it is also crucial that their implementation is secure against attacks which aim at stealing or tampering the assets. We study th...
متن کاملIn Code We Trust? - Measuring the Control Flow Immutability of All Smart Contracts Deployed on Ethereum
Program code stored on the Ethereum blockchain is considered immutable, but this does not imply that its control flow cannot be modified. This bears the risk of loopholes whenever parties encode binding agreements in smart contracts. In order to quantify the issue, we define a heuristic indicator of control flow immutability, evaluate it based on a call graph of all smart contracts deployed on ...
متن کاملTool Demonstration: FSolidM for Designing Secure Ethereum Smart Contracts
Blockchain-based distributed computing platforms enable the trusted execution of computation—defined in the form of smart contracts—without trusted agents. Smart contracts are envisioned to have a variety of applications, ranging from financial to IoT asset tracking. Unfortunately, the development of smart contracts has proven to be extremely error prone. In practice, contracts are riddled with...
متن کاملA Semantic Framework for the Security Analysis of Ethereum smart contracts
Smart contracts are programs running on cryptocurrency (e.g., Ethereum) blockchains, whose popularity stem from the possibility to perform financial transactions, such as payments and auctions, in a distributed environment without need for any trusted third party. Given their financial nature, bugs or vulnerabilities in these programs may lead to catastrophic consequences, as witnessed by recen...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on programming languages
سال: 2021
ISSN: ['2475-1421']
DOI: https://doi.org/10.1145/3485540